About Colin Percival

A Canadian computer scientist and computer security researcher. FreeBSD/EC2 maintainer, FreeBSD Release Engineering Lead, AWS Hero, and author of @Tarsnap .

The RSS's url is : https://www.daemonology.net/blog/index.rss

Please copy to your reader or subscribe it with :

Preview of RSS feed of Colin Percival

Generalist AI doesn't scale

2024-04-06 23:30:00

There has been a lot of talk about AI recently, and one particular point has received sigificant attention in the tech industry: The cost of training models. According to some insiders — and the market capitalization of NVIDIA — the computing power needed for AI training threatens to upend the entire semiconductor industry. This should not be a surprise: Generalist AI doesn't scale.

Reduced to its essentials, the task of training a size-N model is one of hill-climbing in N-dimensional space. You take O(N) inputs, run them through your model, and after each of them you nudge the model slightly uphill towards the desired responses. You need O(N) inputs because with any less than that the model will overfit — essentially memorizing the specific set of inputs rather than generalizing from them — and for each of these inputs you need to perform O(N) computation since you have N parameters in the model to tune. End result: O(N^2) computation.

Please test: FreeBSD 13.3-RC1

2024-02-27 06:45:00

I just announced the availability of FreeBSD 13.3-RC1. This is the first release candidate of FreeBSD 13.3, and if no further issues are reported will be the only release candidate; I would like to start 13.3-RELEASE builds on Friday, with (allowing time for mirrors to update) the release announcement going out on the following Tuesday (March 5th).

This means there's a few days for people to do some last-minute testing and report any problems they find. If you have time to help out with testing, there are two things in particular which I'd like to see get attention:

  1. Wifi, especially the iwlwifi driver. Bjoern Zeeb merged a significant number of changes to the wifi and linuxkpi (which is used by iwlwifi) code between BETA3 and RC1. While these changes were tested extensively, it's still a big chunk of code — more than I would normally have wanted merged so late, but it fixed serious stability issues with iwlwifi so I thought it was worth including anyway. But I'll feel much better about the release if I know people have been testing this code.
  2. The installer. Most people who test FreeBSD BETAs do it by upgrading existing systems — fair enough, you test what you have. But this means that the installer doesn't get nearly as much testing as running FreeBSD systems get. So if you have a spare system laying around, please download an installer image and make sure that you can install FreeBSD 13.3-RC1! In particular, keep an eye out for any "missing" hardware or error messages about drivers being unable to reserve resources; we had a late fix to the way that ACPI devices reserve resources.

An APPR claim with Air Canada

2024-01-11 01:55:00

Like most countries now, Canada has regulations requiring passengers to be compensated for flight delays under certain circumstances; Canada's regulations are called the Air Passenger Protection Regulations (commonly known as "APPR"). In May 2023, I flew to and from BSDCan on Air Canada; on the way home, one of my flights was cancelled and Air Canada rebooked me for the following day.

I filed a request for compensation with Air Canada, but received a response indicating that the cancellation was due to "unforeseen maintenance" which was "required for safety purposes" and thus exempt from the compensation requirements. There were two appeal mechanisms available at this point: First, via the Canadian Transportation Agency — which theoretically reaches decisions within 90 days but has recently been reported to have a case backlog of over a year — and second, via small claims court. I opted to take Air Canada to small claims court — which in BC, means the online Civil Resolution Tribunal.

A Canadian payroll dependency chart

2023-12-31 08:00:00

The Canada Revenue Agency publishes, on a regular basis (they're now up to the 119th edition), a document entitled "Payroll Deductions Formulas". This document contains all of the formulas needed to calculate payroll deductions collected by the CRA: Canada Pension Plan, Employment Insurance, and Income Tax. As someone running a small business in Canada and not wanting to use an external payroll provider, I implement these formulas myself in a spreadsheet.

Some late-breaking FreeBSD 14 breakage

2023-11-22 02:35:00

I assumed the role of FreeBSD Release Engineering Lead a few days ago, and one of my first duties in the role was to write and send out the FreeBSD 14.0-RELEASE announcement. (To be clear: Glen Barber did all of the work of getting the release ready; the final bits had already been copied out to mirrors at the point that I took over.) FreeBSD 14 is a great release, but there are a few last-minute issues which deserve to be documented — probably somewhere on the FreeBSD website, but I can post to my blog much faster and hopefully we'll get these onto the FreeBSD website later.

Tarsnap has given 2^18 dollars to open source

2023-10-25 15:35:00

Yesterday I read a great article from Sentry entitled "We Just Gave $500,000 to Open Source Maintainers", and it made me wonder just how much Tarsnap had spent on supporting open source software over the years. Ever since December 2009 Tarsnap has spent 100% of its December operating profits on supporting open source software — which, since needs for support aren't limited to December, means that Tarsnap hands out money throughout the year, and at the end of the year (when I know how much profit Tarsnap made in December) I send whatever is left in the "budget" to the FreeBSD Foundation. Going through 14 years of accounting spreadsheets brought me to a total of $274,482 — or in binary terms, slightly over 2^18 USD.

Announcing the FreeBSD/Firecracker platform

2022-10-18 14:05:00

The Firecracker Virtual Machine Monitor was developed at Amazon Web Services as a building block for services like AWS Lambda and AWS Fargate. While there are many ways of launching and managing VMs, Firecracker distinguishes itself with its focus on minimalism — important both for security (fewer devices means less attack surface) and reducing the startup time, which is very important if you're launching VMs on demand in response to incoming HTTP requests. When Firecracker was first released, the only OS which it supported was Linux; six months later, Waldek Kozaczuk ported the OSv unikernel to run on Firecracker. As of a few minutes ago, there are three options: FreeBSD can now run in Firecracker.

FreeBSD on the Graviton 3

2022-05-24 05:35:00

Amazon announced the Graviton 3 processor and C7g instance family in November 2021, but it took six months before they were ready for general availability; in the mean time, however, as the maintainer of the FreeBSD/EC2 platform I was able to get early access to these instances.

FreeBSD/EC2: What I've been up to

2022-03-30 04:45:00

I realized recently that there's very little awareness of the work which goes into keeping FreeBSD working on Amazon EC2 — for that matter, I often have trouble remembering what I've been fixing. As an experiment I'm going to start trying to record my work, both for public consumption and to help myself; I might end up posting monthly, but to start with I'm going to report on what I've been done in January through March of 2022.

FreeBSD/EC2 AMI Systems Manager Public Parameters

2021-08-31 12:30:00

In June, I posted a EC2 Wishlist with three entries: "AWS Systems Manager Public Parameters", "BootMode=polyglot", and "Attaching multiple IAM Roles to an EC2 instance". I am happy to say that my first wish has been granted!